// fib.cpp
#include <iostream>
#define MAX_N 40  // 定义最大计算项数

// 递归计算斐波那契数列
int fibonacci(int n)
{
    if (n <= 1) return n;
    return fibonacci(n - 1) + fibonacci(n - 2);
}

int main()
{
    std::cout << "斐波那契数列演示 (递归实现)\n";
    std::cout << "数列: 0, 1, 1, 2, 3, 5, 8, 13, ...\n\n";

    int n;
    std::cout << "请输入项数 n (建议 n <= " << MAX_N << "): ";
    std::cin >> n;

    if (n < 0)
    {
        std::cerr << "错误: n 必须是非负整数。\n";
        return 1;
    }
    if (n > MAX_N)
    {
        std::cerr << "警告: n 值过大，计算可能耗时很长。\n";
    }

    std::cout << "\nF(" << n << ") = " << fibonacci(n) << std::endl;

    return 0;
}